Kripto Para

SHA-256 Nedir ve Bitcoin ile Nasıl Bir İlişkisi Vardır?

Son Güncelleme: 24 Nisan 2022

SHA-256, SHA-2 (Güvenli Karma Algoritma 2) karma işlevleri ailesi içindeki bir kriptografik karma işlevidir. Selefi SHA-1’in bozulmasının ardından 2016 yılında NSA tarafından geliştirilmiştir. SHA-256 hiçbir zaman tehlikeye atılmadı ve en güvenli kriptografik karma işlevlerinden biri olarak kabul edildi. Sonuç olarak, kripto para birimi dünyasındaki en popüler kriptografik hash işlevlerinden biridir. Bu makale, SHA-256’nın nasıl çalıştığını ve özellikle Bitcoin içinde nasıl kullanıldığını ele alacaktır.

SHA-256 karma işlevi, rastgele boyutta bir girdi alır ve sabit boyutta bir çıktı üretir. Hash işlevleri güçlüdür çünkü ‘tek yönlü’dürler. Bunun anlamı, herhangi birinin bir girdi verildiğinde çıktı üretmek için bir karma işlevi kullanmasının mümkün olmasıdır; ancak, verilen girdiyi yeniden oluşturmak için karma işlevinin çıktısını kullanmak imkansızdır. SHA-256 karma işlevinin bu güçlü özelliği, onu Bitcoin ağı içinde uygulama için ideal hale getirir.

SHA-256 karma işlevi, Bitcoin ağı içinde iki ana yolla kullanılır:

  • madencilik
  • Bitcoin adreslerinin oluşturulması

madencilik

Madencilik, Bitcoin protokolünün mevcut dolaşımdaki arzına yeni madeni paraların dahil edildiği bir süreç ve ayrıca Bitcoin ağını güvence altına almak için kullanılan bir yöntemdir.

Bir bireyin Bitcoin blok zincirine bir blok eklemeye hak kazanabilmesi için, önce bir olarak bilinen şeyi çalıştırması gerekir. madencilik düğüm. Bir madencilik düğümünü başarıyla kurduktan sonra, kişi daha sonra geçerliliklerinin kontrol edilmesi için Bitcoin ağına aktarılan aday bloklar oluşturmaya başlayabilir. Bir bloğun içinde olarak bilinen şey blok başlığı; bir blok oluşturmak için madenci tarafından doldurulması gereken 6 parametre vardır. Bunlar şunları içerir:

  • Sürüm – Bitcoin yazılımının sürüm numarası
  • Önceki blok karması – Önceki bloğun karmasına referans
  • Merkle Root – Blokta yer alan tüm işlemlerin temsili bir karması
  • Zaman damgası – Bloğun oluşturulduğu saat
  • Hedef – Blok için iş kanıtı algoritması
  • Nonce – İş kanıtı sürecinde kullanılan değişken
Kaynak: Gizmodo.com

Yukarıdaki resimden de anlaşılacağı gibi, bir madencinin madeni üretebilmesi için önceki blok karma parametre, önceki bloğun blok başlığı SHA-256 algoritmasından geçirilmelidir iki defa, bu aynı zamanda çift SHA-256 olarak da bilinir. Yani:

Önceki Blok Karması = SHA-256(SHA-256(Blok Başlığı))

SHA-256 algoritması, daha sonra blok başlığına eklenen merkle kökünü üretmek için de kullanılır. Bitcoin protokolünün bu yönüne ilişkin kapsamlı bir açıklama burada bulunabilir: Merkle Ağacı ve Merkle Kökü Açıklaması.

Bir bloğun başarılı bir şekilde inşa edilmesinden sonra, madenci artık madencilik sürecine başlayabilir, burada SHA-256 algoritmasının başka bir kullanım durumu kendini gösterecektir. Bu durumda, blok başlığının bir parametresi, nonceart arda değişen bir değişkendir ve SHA-256 işlevi kullanılarak blok başlığının hash edilmesinden sonra, hash hedefin altındaysa madencinin başarılı olduğu kabul edilir.

Örneğin, nonce “12345” değişkenine sahip olsaydı, bu, yukarıda listelenen diğer 5 parametrenin yanında blok başlığına yerleştirilirdi. Blok başlığı daha sonra özetlenir, ancak elde edilen özetin hedefin üzerinde olduğu kanıtlanırsa, madencinin tekrar denemesi gerekir. Madenci daha sonra nonce’yi başka bir değişkenle değiştirebilir, örneğin “90872” ve bunu diğer 5 parametre kalacak şekilde blok başlığının içine yerleştirebilir. devamlı. Ortaya çıkan karma hedefin altında olduğunu kanıtlar, bu nedenle madenci bloğu daha sonra geçerli olduğundan emin olmak için ağa iletilir.

Bitcoin adreslerinin oluşturulması

Bir Bitcoin adresi üretmek için, rastgele seçilen bir sayı olan özel bir anahtar, bir ortak anahtar üretmek için eliptik bir eğri kullanılarak çarpılır. Bu ortak anahtar daha sonra hem SHA-256 hem de RIPEMD160 karma algoritmalarından geçirilir.

K = genel anahtar ve A = Bitcoin adresi olduğunda:

A = RIPEMD160(SHA-256(K))

Bir Bitcoin adresi oluşturmak için SHA-256 ve RIPEMD160 karma algoritmalarının kullanılmasının belirgin bir avantajı vardır:

Daha kısa adresler: Açık anahtar 256 bit uzunluğundayken, karma sürüm, yani Bitcoin adresi 160 bit uzunluğundadır. Bu, daha kısa karakter uzunluğu nedeniyle kullanıcılar için kullanımı çok daha uygun hale getirir.

Çözüm

Sonuç olarak, SHA-256 karma algoritması, Bitcoin protokolünün ayrılmaz bir parçasıdır. Bitcoin madenciliği, merkle ağaçları ve Bitcoin adreslerinin oluşturulması gibi teknolojinin çeşitli yönlerinde uygulama gördü.

Bir yanıt yazın

Başa dön tuşu